A typical computer system includes one or more host systems and one or more storage systems. A storage system usually provides relatively large-scale non-volatile storage of information which may be accessed by a host system. A host system typically accesses a storage system by performing write and read operations to and from the storage system via a communication path between the host and storage systems.
A typical host system includes a host processor and a host cache. A typical host cache temporarily holds information obtained from a storage system and provides the host processor with relatively fast access to information held in the host cache. A storage system commonly includes a storage medium and a storage system cache. A typical storage system cache temporarily holds information obtained from the storage medium and provides a host system with relatively fast access to the information contained in the storage system cache.
In prior host systems, the host cache is usually managed in a manner designed to increase the likelihood that the information accessed by the host processor will be contained in the host cache. Similarly, the storage system cache in prior storage systems is usually managed to increase the likelihood that the information accessed by a host system will be contained in the storage system cache. As a consequence, the same information, i.e. the information likely to be accessed by a host processor, often accumulates in both the host cache and the storage system caches. Unfortunately, such duplication of information reduces the effective storage space of the host and storage system caches. Such duplication is wasteful because of the relatively high cost of implementing caches in the host system and the storage systems.